home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
pcpil
/
pidoc7.txt
< prev
next >
Wrap
Text File
|
1994-02-28
|
41KB
|
1,077 lines
Chapter 10. FONT EDITOR
PILOT fonts can be used to display text in a wide variety of type sizes and
styles. Several fonts are included with PILOT. The font editor allows you to
create new or modify existing fonts. Within a PILOT program the NS:
statement is used to select the font to be used at any particular point.
Fonts are supported in any of the graphics screen modes (modes 4-16).
A font is stored in a disk file with a suffix of ".PIF". Each font contains
96 user-designed characters, corresponding to the characters with ASCII codes
32 through 127. This includes all the standard letters, numbers, and
punctuation characters.
Each character can be up to 24 pixels high and 24 pixels wide. The
individual character widths are used for proportional spacing. In addition to
a width for each character, each font has a default character cell height and
width. The default character cell size is used for row and column addressing.
Each character is made up of a grid of pixels. Each pixel can be transparent,
or one of three colors. Color numbers are 1,2 and 3, corresponding to the
three foreground colors of mode 4 or 5. In higher resolution EGA modes the
three colors can be assigned to any of the 16 or 64 colors available. A font
can be designed in one color or in three colors. In a one color font, color
number 3 is normally used. This permits the use of the TS: foreground command
or the "#" foreground character for text color changes. Multi-colored fonts
can be used to create special effects, such as shadow or outline fonts, or as
small graphics.
When displaying user-designed fonts, PILOT uses character 127 as the cursor.
It is recommended that character 127 be a vertical bar, one pixel wide in the
leftmost column of the character cell extending from the top of the tallest
character to the bottom of the lowest character.
USING THE FONT EDITOR
The font editor, FE, is used to create and modify fonts. FE stores a font in
a file on disk for use in a PILOT program. To use FE, enter:
FE name
where "name" is the name of the file you wish to modify or create. A suffix
of ".PIF" is automatically appended to the end of the filename and need not
be typed. To use a file extension other than ".PIF" enter the entire file
name on the command line. The file name may include a drive and/or path
designation. If the file does not already exist, a new file is created.
Otherwise, FE verifies that file is a valid font file, created by FE. If the
file is not a font file, FE assumes that the file is a graphics image file in
bit-mapped format. It could have been produced by GIE, the PILOT GSX:
statement, or the BSAVE utility. In any case, when the file subsequently is
saved, it will be saved as a font file.
Since FE can read in graphics image files, a previously designed font can be
modified even if it wasn't created via FE. Simply display all the characters
in the font on the screen, and use a screen capture utility such as BSAVE to
save the contents of the screen in a file.
MAIN MENU
When FE is first entered, the main menu is displayed. From the main menu,
there are four options. The desired option is chosen with the function keys.
The functions keys and their operations are shown below.
F1 - edit characters
F1 transfers to select mode. Select mode is used to choose an individual
character to edit.
F2 - change global parameters
F2 brings up the menu to set character cell size and perform color
modification of the font.
F10 - save font
F10 from the main menu saves the font on disk. A backup copy of the file is
made, and saved in the file "name.bak", where "name" is the name of the file
being edited, without the file extension. If an error occurs while saving the
file, the previous version will be in the backup file.
Shift F10 - abandon font
Shift F10 exits the font editor without saving the file. All changes made to
the font during the current editing session are lost.
SELECT MODE
Select mode is used to choose the character to be edited. When in select
mode, the complete font is displayed on the screen. One of the font
characters is always highlighted. The highlighted character is called the
"current character". On the left-hand side of the display there is a solid
bar with a number and two boxes in it. The number is the ASCII value of the
current character. The lower box shows the current character in the normal
40 column text font, for use as a reference. The upper box is called the
"edit box". The character in this box is called the "edit character".
Action in select mode is controlled by the cursor and function keys. The
possible operations are shown below.
ARROW KEYS - change current character
Selection of the current character is done with the arrow keys. The arrow
keys wrap around horizontally and vertically to make it easier to choose the
desired character.
F3 - pick from font
F3 copies the current character to the edit character box. The width of the
current character is also copied.
F4 - put to font
F4 copies the edit character to the current character. The width is also
copied.
F5 - micro-adjust
F5 enters micro-adjust mode. Micro-adjust mode is used only for copying a
character to the edit character box. In micro-adjust mode, the cursor keys
move the highlighted area by one pixel, rather than by one character. Also,
the Home, PgUp, PgDn, and End keys can be used to move the highlighted area
diagonally. In micro-adjust mode, F3 picks the currently highlighted
character and copies it to the edit box. F10 returns to select mode. F9
transfers to fat-bits mode. An exit from fat-bits mode, returns to select
mode, rather than micro-adjust mode.
Micro-adjust mode is used for editing a font that was read in from a graphics
image file. In this case, the characters might not be in the right locations
for a font file. Using the micro-adjust keys, a character can be copied to
the select character box. Back in select mode, the character can be copied
back to the font, in the proper character position.
F9 - go to Fat-bits mode
F9 transfers to fat-bits mode to edit the select character.
F10 - exit
F10 returns to the main menu.
Esc - undo
Escape undoes the action of the last pick, put, or undo. Warning: only the
last pick, put, or undo can be undone.
FAT-BITS MODE
F9 from select or micro-adjust mode transfers to fat-bits mode. In fat-bits
mode, the edit character can be edited. The edit character is shown in an
expanded format so that individual pixels can be identified and edited.
Within the expanded font character, a small box-shaped pixel cursor shows the
position of the currently selected pixel within the character grid.
When in fat-bits mode, there are a number of indicators on the screen. The
edit character is displayed in its normal size in the lower left-hand corner
of the display. The character is bracketed by bars that indicate its current
width. The character width is used to determine placement of the next
character when this character is displayed in a PILOT program. Normally the
width should be set to one or more pixels to the right of the rightmost pixel
of the character shape. If the width is less than the actual size of the
character, the bars will overlay the character. This is permissible and
indicates that the following character might intersect this character when
displayed. Immediately below the character are five indicators, described
below.
Width - character width
The current width of the character is shown, in number of pixels. When fat-
bits mode is entered, the width is set to the current width of the edit
character.
Set - pixel setting color and stream mode
This number is the current set pixel color. In addition to a color number, a
plus or minus sign may be displayed. A plus sign indicates that stream set
mode is on. When stream set mode is on, the cursor keys automatically set
each pixel as the cursor moves from one pixel to another. A minus sign
following the current drawing color indicates that stream clear mode is on.
When stream clear mode is on, the cursor key automatically clears each pixel
to the background color as the cursor moves from one pixel to another.
Mode - font editor screen mode
Back - current background color
Char - character indicator
The ASCII value from 32 to 127, and the standard 40 column text
representation of the currently selected character. These indicators are
displayed only as a reference. Note that the character shown is the
currently highlighted character in select mode, not necessarily the edit
character. If you change the current character after picking the edit
character, this character will not be the same as the edit character.
Baseline Markers
Horizontal and vertical baseline markers can be set. These markers are saved
when you exit to select mode, and are restored the next time you return to
fat-bits mode. Baseline markers are used only as reference points on the
fat-bits grid to facilitate character editing.
FAT BITS MODE KEYS
The fat-bits mode keys are shown below.
1, 2, 3 - choose drawing color
Pressing 1, 2, or 3 sets the drawing color to that color.
4, 5 - set screen mode
Pressing 4 or 5 sets the screen mode.
PLUS and MINUS - change background color
The + key increments the background color. The - key decrements the
background color.
ARROW KEYS, DIAGONAL KEYS - move cursor
The arrow keys and Home, PgUp, PgDn, and End keys are used to move the pixel
cursor. The diagonal keys are useful when stream set or clear mode is on, to
draw diagonal lines.
F1 - set a pixel
F1 sets the pixel at the pixel cursor to the current drawing color. F1 also
turns off either stream mode, if set.
Shift-F1 - toggle stream set mode
Shift-F1 toggles screen set mode.
F2 - clear a pixel
F2 clears the pixel at the cursor to the background color. F2 also turns off
either stream mode.
Shift-F2 - toggle stream clear mode
Shift-F2 toggles the stream clear mode.
F3 - toggle horizontal mark
F3 toggles a baseline mark in the current cursor row.
F4 - toggle vertical mark
F4 toggles a baseline mark in the current cursor column.
F5 - invert the font character
F5 inverts the color of each pixel in the character.
Shift-F5 - clear font character
Shift-F5 clears the entire character to the background color.
F6 - rotate character
F6 rotates the font character counter-clockwise 90 degrees. F6 also clears
either stream mode, if set.
Shift-F6 - reflect character
Shift-F6 reflects the font character about the vertical axis. In conjunction
with the F6 key, the character can be reflected about the horizontal axis
also. Shift-F6 clears all stream mode.
F7 - horizontal roll left
F7 rolls the font character to the left by one column. The leftmost column
becomes the rightmost column. All of the roll keys clear either stream mode,
if set.
Shift-F7 - horizontal roll right
Shift-F7 rolls the font character to the right by one column. The rightmost
column becomes the leftmost column.
F8 - vertical roll up
F8 rolls the font character up by one row. The top row becomes the bottom
row.
Shift-F8 - vertical roll down
Shift-F8 rolls the font character down by one row. The bottom row becomes
the top row.
F9 - decrease width
F9 decreases the width of the character being edited by one pixel. The width
indicators change to reflect the new width. The character itself is not
changed. The minimum width is 0 pixels. The width is used to determine the
placement of any character which is displayed immediately after this
character.
Shift-F9 - increase width
Shift-F9 increases the width of the character being edited. The maximum
width is 255.
F10 - return to select mode
F10 returns to select mode. The character being edited is copied back to the
edit character box. The width is also copied. To copy the edited character
back to the font as the current character use F4.
CHANGING GLOBAL PARAMETERS
From the main menu, the F2 key transfers to the global parameter menu from
which the following keys may be used:
F1, F2, F3 - set substitution colors
A color substitution table can be built to make a mass change of all colors
in the font. F1, F2 and F3 are used to set the new color for all pixels
currently of colors 1,2 and 3, respectively. The substitution colors may be
0, 1, 2 or 3. Substituting to color 0 has the effect of erasing pixels. The
prompt line indicates the current settings for each substitution color. F5
can be used to preview the effect of the color substitution table.
F5 - view new colors
The F5 key causes the whole font to be displayed with the new colors
substituted in. It does not change the font permanently.
F6 - save new colors
F6 causes the whole font to be displayed with the new colors substituted in.
Once displayed, a prompt is asks if you are sure you want to save the font
with the new colors. If you respond with a 'y', the change is made
permanently.
F7 - set cell width
F7 is used to set the default cell width for the font. The cell width must
be between 1 and 255.
F8 - set cell height
F8 is used to set the default cell height for the font. The cell height must
be between 1 and 255.
F10 - return to main menu
Chapter 12. TOUCH SCREEN
The touch screen is supported in two ways: "touch key mode" and "touch
coordinate mode". The two modes can be intermixed in any manner within a
program. The touch key mode is used to detect selection of a pre-defined
target on the display screen. The touch coordinate mode can be used to detect
the exact location of a touch in graphics or text coordinates. The touch
coordinate mode also permits the program to check for a touch without
stopping to wait for a touch.
TOUCH KEY MODE
The user can define up to 60 TOUCH KEYS on the display screen. Each touch
key is a rectangular block of character cells. The smallest possible touch
key is one character cell; the largest is the entire display screen. Touch
keys may overlap in any manner and need not fill the entire display area.
PILOT does not take any automatic action to make the touch keys visible. The
user can choose to do so by creating an appropriate display which outlines or
highlights the touch keys in any desired manner. Internally, PILOT keeps a
table of all current touch keys. Each touch key is identified by a number
from 1 to 60. The following statements can be used to control the touch key
table:
TS:Kn - define touch key
The current viewport is defined to be touch key n. n may be a number from 1
to 60. The K command would normally be intermixed with other commands on the
TS: statement. The following example defines two touch keys, number 2 and
number 3. Each one has a label displayed in it.
TS: V2,7,5,9;K2;Astart; V40,50,6,12;K3;Astop
TS:K0 - remove all touch key definitions
The touch key table is erased. No touch keys remain defined.
ACCEPT POINT
To accept touch key input use the ACCEPT POINT statement, or the ACCEPT POINT
EXCLUSIVE statement.
AP: - accept point
Accept point waits for touch screen or keyboard input.
APX: - accept point exclusive
Accept point exclusive waits for touch screen input only.
The ACCEPT POINT works like a normal accept in that the program waits for
student input. In the case of AP: the student can either type a reply on the
keyboard, followed by the ENTER key, or touch the screen. In the case of APX:
the student must touch the screen to end the accept.
In either case, if the student touches the screen, within a touch key, a
"good beep" sounds and the student answer buffer (%B) is set to the touch
key number enclosed in square brackets, (eg. "[12]" ). If the student touches
outside all touch keys then a "bad beep" sounds and the answer buffer is set
to "[0]".
If touch keys overlap, and a touch occurs within more than one touch key,
then the lower touch key number is returned.
Like the normal Accept statement, the AP: and APX: statements may contain
variable names as arguments. For example:
APX: #Q
sets the numeric variable Q to the touch key number selected by the student,
and sets the string variable %B to the same number, enclosed in [ ].
Example: Waits until the student touches a touch key, giving a bad beep on
all other touches that may occur first.
APX: #Q
J(Q=0):@A
The AP: statement allows the student to reply as to a normal Accept, using
the keyboard, or by touching the screen. The program can detect which
occurred by checking for the square brackets in the answer buffer as follows:
AP:
M:[&]
TY: touch screen used.
TN: keyboard used.
The AP: and APX: op codes are subject to response timing in the same manner
as the A: op code. The response time limit is set by a statement such as
P: T5 (set max response time to 5 sec)
Also, the function TIM(0) returns the actual student response time for the
last Accept statement.
If the ESCAPE option is enabled on the P: statement (P:E), then touch key
number 1 has special significance. Touch key 1 is treated similarly to the
student entering an "@" character, in that a USE is issued to label *SYSX.
This can be used to implement a "hot spot" on the screen, which would invoke
asynchronous events like help, menus, reviews etc.
TOUCH COORDINATE MODE
The PNT function is used to control touch coordinate mode. PNT can be used in
any expression context. The format of the PNT function is as follows.
PNT(n)
where n is a value of 0, 1 or 2.
PNT must be called first with an argument of 1 to enable touch coordinate
mode:
C: X = PNT(1)
Once this statement is executed, the touch screen is active. The program can
test for a touch having happened by statement such as:
J(PNT(0)):TOUCH
The returned value is 0 if no touch has occurred, or 1 if a touch has
occurred. If the value is 1, then four system variables have been set to
reflect the location of the touch:
%X - the graphics x-pixel location of the touch
%Y - the graphics y-pixel location of the touch
%R - the text row number of the touch
%C - the text column number of the touch
These system variables are set in the ranges that suit the current screen
display mode. The program can use these variables in any expression context.
Whether or not a touch is returned by the PNT(0) function, the touch screen
remains active. The program can deactivate the touch screen by executing the
function:
C: X = PNT(2)
Example: This code sequence places an asterisk at any point touched by the
user.
C:I=PNT(1)
*LOOP J(PNT(0)=0):LOOP
TS:G(%C),(%R);A*
J:LOOP
Chapter 13. SIMULATED SPEECH
SS: n1, n2, n3 . . .
n1, n2 and n3 are decimal numbers which represent the speech vocabulary chip
addresses of the words to be played back. Each number is separated from the
previous one by a comma or semi-colon.
Multiple words on one line are spoken as a sentence.
Example: simulated speech
SS: 1 (say one word)
SS: 5,3,7 (say three words)
Chapter 14. VIDEO DISC SUPPORT
VS: command-list
A PILOT program can control the operation of the attached video disc player.
The visual output of the player can be displayed on the screen in combination
with the computer-generated text or graphic display.
The video disk image can be considered to be "behind" the computer display
image. The program controls which parts of the video image and which parts of
the computer display image are visible by selecting a color on the computer
display image to be transparent. For example, if black is transparent, then
the video disk image shows through wherever the computer display image would
be black. Other colors in the computer display appear to be overlayed on the
video disk image.
The video disk unit can be controlled by the VS: , or VIDEO SUPPORT
statement. VS: has a syntax similar to the TS: or G: statements, in that it
can contain a list of a number of individual commands. If there is more than
one command on a VS: statement, each must be separated from the previous one
by a semi colon. For example:
VS: L1; A3; P100,675
In the following command descriptions, n represents a number, a variable or
an expression.
Video disk frame numbers run from 1 to (approximately) 54000. The possible
commands are a follows:
An - select audio channels
Set audio control for subsequent play command, A0 means silence, A1 means
left track, A2 means right track, A3 means both tracks. This may be issued
prior to, or during a play command to turn the sound off or on at any time.
Cm,p - mode and palette select
Set interlace mode and color palette selection. m=0 disables interlace mode,
m=1 enables it. Interlace mode should be enabled during video display and
disabled during graphics display to enhance the visual effect. p=0 selects
normal color palette and p=1 selects large color palette.
The color palette determines how the transparency color number on the Tn
command below is interpreted. In normal color palette mode the transparency
color number is assumed to be in the range 0-15 and is interpreted as a color
number corresponding to the 16 default colors. In the large color palette
mode the transparency color is assumed to be in the range 0-63 and is
interpreted as a color number as defined by the EGA color palette.
Note that the "TS:Fn,m" command can be used to access the large color palette
of the EGA.
Dn - display player frame information
Control the player-generated frame number display. D0 means frame number is
not displayed on the screen, D1 means frame number is displayed on the screen
whenever a video image is displayed. This command is provided for debugging
purposes since it shows what frame number is currently being displayed.
Fn - still frame
Search for frame number n, then play it as a still frame.
H0 - soft system halt
Command the display system to do a soft stop. The soft stop command should be
issued prior to calling an external program. It causes all video, touch and
sound commands to stop at a logical point. Then software which expects a
standard graphics adapter may be executed.
H1 - restart after soft system halt
Command the display system to resume special function modes after a previous
soft stop. This command leaves the system in a ready state with no video,
touch or sound turned on.
Ln - load or unload disk
L0 means unload (spin down) L1 means load (spin up). An L1 command MUST be
issued prior to any attempt to play any video scenes. Once this command is
issued, the PILOT program pauses until the disc is up to speed, or an error
occurs. After this command the program should test the player status via the
VFN function to insure that the disc unit is ready to go.
Mn - enable or disable manual controls
The video disc player has manual remote controls. They can be disabled or
enabled under software control. M0 means disable, M1 means enable.
Pf,t - play a video scene from frame f to frame t.
The video player plays the designated sequence of video frames. When frame
number t is reached the player continues to show frame t in still frame mode.
If f is less than t the scene is played forward.
If f is greater than t, then the scene is played backwards. If the first
frame number, f is equal to 0, then the play begins at the current frame
number and plays forward or backward to frame number t.
The An command, shown above, can be executed prior to the play command to
control whether the audio portion is present.
An Rn command, shown below, can be executed prior to the play command to set
the play rate.
The program proceeds immediately after issuing this command to the video
disc. It does not wait until the scene is complete. If you wish the program
to wait for the scene to complete see the VST and VFN functions below.
A play in progress can be stopped at any time by a still frame command, an
unload command, or a stop command.
Rn - set play rate
Set the play speed for subsequent play command. The value of n is in terms of
percent of normal speed, from 1 to 255. If 0<n<100 then the play rate is
slowed down to n percent of normal. If n>100 then play rate is increased to n
percent. R100 sets the play rate to normal. No audio is played when the play
rate is slower or faster than normal.
Sn - single frame step
S0 means step backward one frame, S1 means step forward one frame.
T; - turn off transparency
Set no computer display colors to transparent, so only the computer display
is visible, the video image behind it is not visible.
Tn - set color n to transparent
The video image shows through the computer display image wherever the
computer display image is color number n. See the "Cm,p" command above for
information on the value of n.
Un - select video player unit n
When more than one player is attached, this command selects the player to
which commands are sent. Player 1 is the default. Once a player unit is
selected, all player commands are routed to that player. However, it is
possible to be showing a scene from one player and giving commands to another
by combinations of the Un and Vn commands.
Vn - select video player output to display
When more than one player is attached, this command selects the player whose
output is displayed. Player 1 is the default. It is possible to be showing a
scene from one player and giving commands to another by combinations of the
Un and Vn commands.
X - stop a play-in-progress
The play command stops at the current frame and the current frame is played
as a still frame.
VIDEO FUNCTIONS
Each of these functions returns a number. Each can be used in any expression
context.
I = VFN(n) - frame number
Returns current video frame number for player n. In a system with one player
n should be equal to 1.
I = VST(n) - returns current status of player n
Returns the play status of player n. The status may be one of the following
values:
-1 indicates an error condition
0 disc not up to speed (parked/unloaded)
1 disc up to speed, not playing (loaded)
2 disc playing a still frame (stopped)
3 disc playing a scene
Examples:
R: set up to show video in black areas
VS:T0
R: spin up disc and check whether okay
VS:L1
T(VST(1)<2):Player is not up to speed!
R: play a scene with sound track 2.
VS: A2; P100,575
R: Wait until the scene is done.
*Loop J(VST(1)=3):Loop
R: play from current frame, 50% speed
VS: R50; P0,54000
R: Wait until at from 1000.
*Loop1 J(VST(1)=3 & VFN(1)<1000):Loop1
VS: X
R: step 3 frames
VS: S1; S1; S1
Appendix A. Language Summary
Appendix A: PILOT LANGUAGE SUMMARY
STATEMENTS
A: [variables] accept answer
AS: accept single
AH: accept hold cursor
AX: accept with default key codes
AJ: accept with type-ahead
AP: accept touch or keyboard input
APX: accept touch screen input
C: var = expr compute and assignment
D: var(len),... create arrays and/or strings
DX: v$(len) create aligned string
E: [label] end subroutine or program
FX: [name] open or close a file
FI: byte,var$ file in (read from file)
FO: byte,expr file out (write to file)
FXH: size initialize heap file
FIH: byte,vr$ in heap (read from heap)
FOH: byte,expr out heap (write to heap)
G: command-list turtle or sprite graphics
GSX: save screen internally
GX: restore screen
GX: name display graphics image from file
GSX: name save graphics image to file name
J: label jump to label
K: expression write to student records file
L: name[,label] link to program name
M:pattern match student answer
MJ:pattern if NO, jump to next match
MS:pattern match with spelling errors
MX:expression numeric match
N: pattern new character
NX: x,y ;... new key
NXS: restore old keyboard codes
NS:variable$ change character font
NH:width,height change default character cell size
P: option-list problem start and options
PX: offset,byte poke byte to memory
PJ: address,byte output byte to port address
R: remarks provides program comments
S: pit,dur;... sound
SS: address,... simulated speech
T: text type text
TH: text type hang (no return)
TX: text type clear screen
TS: screen-list type screen
U: label use (call) subroutine
V: var$ call machine language
VS: command-list video disc control
W: expression wait expr tenths of a second
WH: expression wait and hold character
X: expression execute indirect
P STATEMENT OPTIONS (P:)
S remove all spaces L trans to lower case
U trans to upper case G allow GOTO command
E allow ESCAPE cmd W clear label table
F func key escape P printer-echo on
An set max A: len Z turn off all options
Tn set max A: response time
Kname set keep file name for K: statement
STATEMENT LABELS
*label (alone) * followed by 1 to 6 characters
*label stmt (before stmt)
CONDITIONALS
TY:... execute statement if last match YES
TN:... execute statement if last match NO
TE:... execute statement if err condition
Tn:... (1-9) execute if answer counter=n
T(x<3):... execute if expression is true
TC:... execute if last expression was true
MATCH PATTERNS
* any single char & any sequence of chars
! alternate answer % match a space, or end
@ items any order ^ negation of match
SCREEN COMMANDS (TS:)
Axx/yy do animation Bn background color
Dn delay n 60ths sec En erase to color n
Fn foreground color Gx,y cursor goto x,y
Fn,a color palette On overlay/xor mode
Ln set line spacing Mn screen mode (0-6)
Pn select page (0-7) Pn,w displ/write page
Vl,r,t,b set viewport V; restore viewport
Wrlud walk one space ; separates items
*n(.) repeat n times Xn set screen border
GRAPHICS COMMANDS (G:)
Cn set pen color E erase entire screen
Cn,w pen color width Dx,y draw to pixel x,y
Ar,d arc, radius r Bx,y solid bar
Fn forward n steps Gx,y turtle goto x,y
Hn set heading Rn right n degrees
Ln left n degrees Xn horizontal scale
Yn vertical scale *n(..) repeat n times
Pn paint to color n Wn wait n 60ths sec
Svar$ sprite table Sn sprite n current
Jn jump to sprite n ; separates items
SYSTEM VARIABLES
%A answer counter
%B answer buffer
%E jump loc of last U: return point
%N item which matched on last match
%M loc in %B which matched on last match
%L len in %B which matched on last match
VARIABLES
X cat WRONG W5 simple real variables
score(expr) subscripted real variable
name$ string variable, varying length
c$(pos) single character substring
hard$(pos,len) substring specified length
Names are 1-6 bytes, start with a letter.
Upper/lower case are the same in a name.
Arrays start at 0. Strings start at 1.
OPERATORS AND EXPRESSIONS
+ add - sub * mul / div % modulo
& and ! or ~ not !! concatenate
< > = <= >= <> relational
ABS ASC ATN AUX BGC CAP CHR COS CLK DEC EXP FGC
FIZ FLO INS INP INT KEY LNE LOG LEN MEM MOD OFF
PEK RND RSP SEG SFL SGN SIN SPC SQR STR SWP TIM
WRD XCR XPX YCR YPX
OUTPUT CONTROL CHARACTERS
8 LEFT 9 RIGHT 10 DOWN 11 UP
12 CLEAR 13 RETURN 14 HOME
RUN TIME COMMANDS
P:G enables GOTO label, causes J:label
P:E enables Esc key to cause U:SYSX
P:F enables function/cursor key to cause U:SYSX
EZ EDITOR EZ name.PIL
up down right left arrows, tab move cursor
HOME goto top of file END goto end of file
INS insert character DEL delete character
PG UP move up a page PG DN move down page
F1 insert line/split F2 delete line/join
F3 pick up a line F4 put down a line
F5 goto line/find str F6 shift to extended
F7 expand macro to text F8 goto graphics mode
F9 on-line help F10 save file, exit
shift F5 search and replace
shift F7 copy file into text
shift F8 enter character editor
shift F9 save or print all or partial file
shift F10 abandon edited file and exit
SPRITE EDITOR
F1 select sprite F2 select layout
F3 copy to sprite F4 copy to image
F5 load sprite table F6 save sprite table
F7 load image F8 save image
F9 goto fat bits mode F10 exit
arrows roll graphics image 1 pixel
SPRITE EDITOR FAT BITS MODE
F1 set a pixel ^F1 stream set
F2 clear a pixel ^F2 stream clear
F8 change screen mode ^F5 clear sprite
F10 exit fat bits mode
+ and - change background colors
APPENDIX B: PILOT CHARACTER SET
OUTPUT CHARACTERS
PILOT allows the use of characters in the range of ascii 32 (space) through
ascii 255. On the IBM PC these are all considered "printable" characters.
That is, all are displayed on the screen if typed by a T: statement. The
characters in the range of 0 to 31 are not printable; these are reserved for
terminal control functions. (See table below.) Any control character that has
not been assigned a function is ignored completely upon output. The EZ editor
allows the user to place any character from 32 to 255 in a program file. It
does not allow characters from 0 to 31 to be put in a file. If you use a text
editor which does allow control characters to be placed in the text, you
should also avoid doing so when creating a PILOT program.
CHR(8) - backspace
CHR(9) - forward space
CHR(10) - cursor down
CHR(11) - cursor up
CHR(12) - clear screen
CHR(13) - return (newline)
CHR(14) - home
The characters from 32 to 127 display the same in all screen modes of PILOT.
These are as shown on pages G2 and G3 of appendix G of the BASIC manual. (You
might consider moving those pages to this appendix for future reference.)
There is a difference in what you see on the screen for
characters in the range 128 to 255 depending on what screen mode the PILOT
program uses. In modes 0 through 3 (the text modes) the characters displayed
are as shown on pages G4 and G5 of appendix G of the BASIC manual.
In modes 4 through 6 (the graphics modes) the characters from 128 to 255 are
handled in a special way. These are the characters that are available for
user defined characters (see the NEW CHARACTER statement). If you do not
define any character patterns (that is you do not execute any N: statements)
then the characters from 128 to 255 have unpredictable shapes and should not
be used at all. Once you define at least one character then the remainder of
the characters in this range have the same shapes as the corresponding
characters in the range 0 to 127 as shown in BASIC appendix G. You can define
new shapes for any or all of the 128 characters in this range. You can not
change the shapes of the characters below 128.
ENTERING CHARACTERS WITH EZ
EZ allows the user to enter characters from 32 to 255 into the text. The
characters from 32 to 127 are easily entered in the natural way by just
pushing the key with the appropriately marked character on the keyboard. To
enter characters from 128 to 255 the user first pushes the F6 key then pushes
a second key. The character entered into the text is the value of the second
key plus 128. For example F6 # yields the character 35+128=163 or u-accent.
(See chart below.) If you wish to enter several extended characters in a
row, push SHIFT-F6. Then all characters are changed in the above manner
until you push F6 again or push the ENTER key.
KEY TO PUSH AFTER F6 TO ENTER CHARACTERS 128 to 255 WITH EZ
128 ctrl-@ 160 space
129 ctrl-A 161 !
130 ctrl-B 162 "
131 ctrl-C 163 #
132 ctrl-D 164 $
133 ctrl-E 165 %
134 ctrl-F 166 &
135 ctrl-G 167 '
136 ctrl-H 168 (
137 ctrl-I 169 )
138 ctrl-J 170 *
139 ctrl-K 171 +
140 ctrl-L 172 ,
141 ctrl-M 173 -
142 ctrl-N 174 .
143 ctrl-O 175 /
144 ctrl-P 176 0
145 ctrl-Q 177 1
146 ctrl-R 178 2
147 ctrl-S 179 3
148 ctrl-T 180 4
149 ctrl-U 181 5
150 ctrl-V 182 6
151 ctrl-W 183 7
152 ctrl-X 184 8
153 ctrl-Y 185 9
154 ctrl-Z 186 :
155 ctrl-[ 187 ;
156 ctrl-\ 188 <
157 ctrl-] 189 =
158 ctrl-^ 190 >
159 ctrl-_ 191 ?